package com.liliudong.template.biz.service.sys;

import com.liliudong.template.common.entity.sys.SysRoleDept;
import com.mybatisflex.core.service.IService;

import java.util.List;
import java.util.Set;

/**
 * @author liudo
 * @version 1.0
 * @project template-backend
 * @date 2024/7/31 14:35:30
 */
public interface SysRoleDeptService extends IService<SysRoleDept> {
    /**
     * 使用角色id保存批处理
     *
     * @param roleId  角色id
     * @param deptIds 深度ID
     */
    void saveBatchWithRoleId(Long roleId, List<Long> deptIds);

    /**
     * 按角色id删除
     *
     * @param roleId 角色id
     */
    void removeByRoleId(Long roleId);

    /**
     * 按角色id列出部门id
     *
     * @param roleId 角色id
     * @return {@link Set }<{@link Long }>
     */
    Set<Long> listDeptIdsByRoleId(Long roleId);

    /**
     * 按深度id计数
     *
     * @param deptId 深度id
     * @return long
     */
    long countByDeptId(Long deptId);
}
